#C 语言的 switch 分支语句
分支语句(Branching Statement) 和条件语句类似,也用于控制程序的执行流程。
C 语言通过 switch
和 case
来创建分支语句。其基本语法如下:
switch (表达式) // 表达式的结果必须是整型
{
case 值1: // 当表达式的结果是 值1 时,执行 分支1
分支1
break; // 跳出 switch
case 值2: // 当表达式的结果是 值2 时,执行 分支2
分支2
break; // 跳出 switch
...
case 值n: // 当表达式的结果是 值n 时,执行 分支n
分支n
break; // 跳出 switch
default: // 当表达式的结果不符合任何分支条件时,执行 分支n+1
分支n+1
break; // 跳出 switch
}
说明:
- 如果“表达式”的结果为“值1”,则执行“分支1”
- 如果“表达式”的结果为“值2”,则执行“分支1”
- ...
- 如果“表达式”的结果为“值n”,则执行“分支n”
- 如果“表达式”的结果不符合任何分支条件,则执行“分支n+1”,即默认分支
注意:
switch
的表达式结果必须是整型case
的值必须是整型字面量- 如果不使用
break
跳出switch
,则会向下执行后续分支,直至遇到break
。
示例:
#include <stdio.h>
int main(void) {
printf("欢迎使用自动售货机!\n");
printf("1. 可乐(3元)\n");
printf("2. 雪碧(3元)\n");
printf("3. 矿泉水(2元)\n");
printf("4. 果汁(5元)\n");
printf("5. 咖啡(6元)\n");
int choice = 0;
printf("请选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("您选择了:可乐,价格:3元\n");
break;
case 2:
printf("您选择了:雪碧,价格:3元\n");
break;
case 3:
printf("您选择了:矿泉水,价格:2元\n");
break;
case 4:
printf("您选择了:果汁,价格:5元\n");
break;
case 5:
printf("您选择了:咖啡,价格:6元\n");
break;
default:
printf("无效的选择!\n");
}
return 0;
}
说明:
choice
的值是 4,因此进入case 4:
的分支
运行结果:
欢迎使用自动售货机! 1. 可乐(3元) 2. 雪碧(3元) 3. 矿泉水(2元) 4. 果汁(5元) 5. 咖啡(6元) 请选择:4 您选择了:果汁,价格:5元